import React, { Component } from 'react';

import store from "../../redux/store.js";

export default class Count extends Component {
    state={
        carName:"长安univ-2.0T--亚光风暴灰"
    };
    increment=()=>{
        const {value}=this.selectNumber;
        store.dispatch({type:"increment",data:value*1});
    };
    decrement=()=>{
        const {value}=this.selectNumber;
        store.dispatch({type:"decrement",data:value*1});
    };
    incrementIfOdd=()=>{
        const {value}=this.selectNumber;
        const count=store.getState();
        if(count % 2 === 1){
            store.dispatch({type:"increment",data:value*1});
        };
    };
    incrementAsync=()=>{
        const {value}=this.selectNumber;
        setTimeout(()=>{
            store.dispatch({type:"increment",data:value*1});
        },1000);
    };
    // componentDidMount(){
    //     store.subscribe(()=>{
    //         this.setState({});
    //     });
    // };
    render() {
        return (
            <div>
                <h2>当前求和为：{store.getState()}</h2>
                <select ref={(currentNode)=>{this.selectNumber=currentNode}}>
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                </select>&nbsp;
                <button onClick={this.increment}>+</button>&nbsp;
                <button onClick={this.decrement}>-</button>&nbsp;
                <button onClick={this.incrementIfOdd}>当求和结果为基数再加</button>&nbsp;
                <button onClick={this.incrementAsync}>异步加</button>
            </div>
        );
    };
};
